05. Lab: Semantic Segmentation

Lab Overview

Now that you've been introduced to the basics of segmentation networks, it's time for a concrete robotics example with a Jupyter notebook. In this lab, you'll train a deep neural network to identify a target person from images produced by a quadcoptor simulator. Once you have a trained network, you can use it to find the target in new images by inference.

In the final Follow Me project, the inference step must run continuously in simulation, just as quickly as the copter supplies images to it. Some additional code abstractions and performance enhancements are introduced in this lab that are needed when moving to the simulation, so be sure to do the lab before moving on to the project! Specifically, the following key topics are covered in the next few concepts:

  • Getting Started
  • Keras layers in TensorFlow
  • Encoder with Separable Convolutions
  • Batch Normalization
  • Decoder with Bilinear Upsampling

This lab uses actual data from the simulator, and at the end of it, you will have a nominally working network to incorporate into the Follow Me project. It will be up to you to maximize the network performance with additional layers, parameter tuning and even collecting more data!

Let's get started!